package xdu.lz.stage2_design_pattern.chapter12_balking_pattern;

import java.io.IOException;

/**
 * 定期自动保存数据的线程类
 */
public class AutoSaveThread extends Thread{

    private BalkingData balkingData;

    AutoSaveThread( BalkingData balkingData){
        super("AutoThread");
        this.balkingData = balkingData;
    }

    //每隔1s自动轮询保存:
    // 如果做出改变但是没有调用save的人，会被自动save。如果没有任何改变，则直接返回
    public void run(){
        try{
            while(true){
                balkingData.save();
                Thread.sleep(100);
            }
        }catch(InterruptedException e){
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}
